package com.cloudkinto.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 * @author zhangyy
 * @since 2020-09-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_product_info")
public class ProductInfoDo extends Model<ProductInfoDo> {

    private static final long serialVersionUID=1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 顾客SKU
     */
    @TableField("commodity_sku")
    private String commoditySku;

    /**
     * 仓库SKU
     */
    @TableField("storage_sku")
    private String storageSku;

    /**
     * 产品名称（日）
     */
    @TableField("commodity_name")
    private String commodityName;

    /**
     * 产品名称（中）
     */
    @TableField("product_name")
    private String productName;

    /**
     * 产品分类
     */
    @TableField("product_type")
    private Long productType;

    /**
     * 产品长度
     */
    @TableField("length")
    private float length;

    /**
     * 产品宽度
     */
    @TableField("width")
    private float width;

    /**
     * 产品高度
     */
    @TableField("height")
    private float height;

    /**
     * 产品重量
     */
    @TableField("weight")
    private float weight;

    /**
     * 成本价格（人民币）
     */
    @TableField(value = "report_price",updateStrategy = FieldStrategy.IGNORED)
    private Float reportPrice;


    @TableField("currency_type")
    private Long currencyType;

    /**
     * 颜色
     */
    @TableField("color")
    private String color;

    /**
     * 颜色（日）
     */
    @TableField("color_jp")
    private String colorJp;

    /**
     * 售价（日元）
     */
    @TableField("sale_price")
    private int salePrice;

    /**
     * 图片地址
     */
    @TableField("product_picture_file_id")
    private Long productPictureFileId;

    @TableField("company_id")
    private Long companyId;

    @TableField("create_by")
    private Long createBy;

    @TableField("create_time")
    private Date createTime;

    @TableField("update_by")
    private Long updateBy;

    @TableField("update_time")
    private Date updateTime;

    @TableField("delete_by")
    private Long deleteBy;

    @TableField("delete_time")
    private Date deleteTime;

    @TableField("delete_flag")
    @TableLogic
    private Integer deleteFlag;

    /**
     * 销售链接
     */
    @TableField("sales_link")
    private String salesLink;

    /**
     * 用途
     */
    @TableField("purpose")
    private String purpose;

    /**
     * 用途（日）
     */
    @TableField("purpose_jp")
    private String purposeJp;

    /**
     * 材质
     */
    @TableField("texture")
    private String texture;

    /**
     * 材质（日）
     */
    @TableField("texture_jp")
    private String textureJp;

    /**
     * 海关编码
     */
    @TableField("hs_code")
    private String hsCode;

    /**
     * 品牌型号
     */
    @TableField("brand_model")
    private String brandModel;

    /**
     * 品牌(日)
     */
    @TableField("brand_model_jp")
    private String brandModelJp;

    /**
     * 清关报价
     */
    @TableField("customs_clearance_price")
    private Double customsClearancePrice;

    /**
     * 1：普通商品 2：fba商品
     */
    @TableField("type")
    private int type;

    @TableField("consumables")
    private Long consumables;
    @TableField("casePack")
    private Long casePack;

    @TableField("type_of_product")
    private String typeOfProduct;

    @TableField("fn_sku")
    private String fnSku;

    @TableField("is_insure")
    private Boolean isInsure;

    @TableField("insure_amount")
    private Double insureAmount;

    @TableField("upc")
    private String upc;

    /**
     * 是否先进先出 0 否 1是
     */
    @TableField("out_type")
    private Integer outType;

    /**
     * 大小件 0 小件 1 大件 2 异形件
     */
    @TableField("size_type")
    private Integer sizeType;
    /**
     * 0 不支持捆包 1 支持捆包
     */
    @TableField("sup_package")
    private Integer supPackage;


    /**
     * 是否易碎 0 否 1是
     */
    @TableField("breakable")
    private Integer breakable;

    /**
     * 所需耗材id
     */
    @TableField("material_id")
    private Long materialId;

    /**
     * 耗材类型 0 通用 1 自费
     */
    @TableField("common_use")
    private Integer commonUse;

    /**
     * 电池 0 不是 1是
     */
    @TableField("battery")
    private Integer battery;

    /**
     * 是否需要测量 0 不需要 1 需要  需要即代表新品维护
     */
    @TableField("need_measure")
    private Integer needMeasure;


    /**
     * 产品宽度 仓库
     */
    @TableField("length_store")
    private float lengthStore;

    /**
     * 产品高度
     */
    @TableField("width_store")
    private float widthStore;

    /**
     * 产品重量
     */
    @TableField("height_store")
    private float heightStore;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
